home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Alles Voor Internet / Tout Pour Internet
/
alles voor internet.iso
/
MacInternet™
/
Archive-tools
/
untar and compress Folder
/
compress
/
(compress.original)
/
usermem.sh
< prev
next >
Wrap
Linux/UNIX/POSIX Shell Script
|
1993-03-12
|
2KB
|
84 lines
#! /bin/sh
#
# @(#)usermem.sh 1.1 86/09/25 SMI; from UCB 5.4 85/09/17
#
: This shell script snoops around to find the maximum amount of available
: user memory. These variables need to be set only if there is no
: /usr/adm/messages. KMEM, UNIX, and CLICKSIZE can be set on the command
: line, if desired, e.g. UNIX=/unix
KMEM=/dev/kmem # User needs read access to KMEM
UNIX=
# VAX CLICKSIZE=512, UNIX=/vmunix
# PDP-11 CLICKSIZE=64, UNIX=/unix
# CADLINC 68000 CLICKSIZE=4096, UNIX=/unix
# Perkin-Elmer 3205 CLICKSIZE=4096, UNIX=/edition7
# Perkin-Elmer all others, CLICKSIZE=2048, UNIX=/edition7
CLICKSIZE=512
eval $*
if test -n "$UNIX"
then
: User must have specified it already.
elif test -r /vmunix
then
UNIX=/vmunix
if [ -r /bin/sun2 ] && /bin/sun2
then
CLICKSIZE=2048 # Sun-2
elif [ -r /bin/sun3 ] && /bin/sun3
then
CLICKSIZE=8192 # Sun-3
else
CLICKSIZE=512 # Probably VAX
fi
elif test -r /edition7
then
UNIX=/edition7
CLICKSIZE=2048 # Perkin-Elmer: change to 4096 on a 3205
elif test -r /unix
then
UNIX=/unix # Could be anything
fi
SIZE=0
# messages: probably the most transportable
if test -r /usr/adm/messages -a -s /usr/adm/messages
then
SIZE=`grep avail /usr/adm/messages | sed -n '$s/.*[ ]//p'`
fi
if test 0$SIZE -le 0 # no SIZE in /usr/adm/messages
then
if test -r $KMEM # Readable KMEM
then
if test -n "$UNIX"
then
SIZE=`echo maxmem/D | adb $UNIX $KMEM | sed -n '$s/.*[ ]//p'`
if test 0$SIZE -le 0
then
SIZE=`echo physmem/D | adb $UNIX $KMEM | sed -n '$s/.*[ ]//p'`
fi
SIZE=`expr 0$SIZE '*' $CLICKSIZE`
fi
fi
fi
case $UNIX in
/vmunix) # Assume 4.2bsd: check for resource limits
MAXSIZE=`csh -c limit | awk 'BEGIN { MAXSIZE = 1000000 }
/datasize|memoryuse/ && NF == 3 { if ($2 < MAXSIZE) MAXSIZE = $2 }
END { print MAXSIZE * 1000 }'`
if test $MAXSIZE -lt $SIZE
then
SIZE=$MAXSIZE
fi
;;
esac
if test 0$SIZE -le 0
then
echo 0;exit 1
else
echo $SIZE
fi